<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type='text/javascript' src='../vue.js'></script>
   
    <style>
        [v-cloak]{
            display: none;
        }
    </style>
</head>
<body>
    <div id="root">
        <span v-text=v_text> 哈哈哈 </span>
        <br>
        <span v-html=v_html> 哈哈哈 </span>
        <br>
        <span v-cloak> {{v_cloak}}</span>
        <br>
        <span> number当前值 = {{number}}</span>
        <br>
        <span v-once>number初始值: {{number}}, v-once: 我从vm上加载一次后就被当成静态值</span>
        <br>
        <span v-ten=number> 我是自定指令ten </span>
        <br>
        <button @click=number++> 点我 number++ </button>
        <br>
        <p v-pre> 我没啥用,就是提升一点点性能,只是告诉vue, 我不需要解析,我没用到vm管理的值</p>
        <br>
        <input type="text" placeholder="say something" v-fbind=number >
       
    </div>
    <script src="https://cdn.bootcdn.net/ajax/libs/angular.js/1.8.3/angular.js"></script>
    <link href="https://cdn.bootcdn.net/ajax/libs/angular.js/1.8.3/angular-csp.css" rel="stylesheet">
    <script type='text/javascript'>
        new Vue({ 
            el: '#root',
            data: {
                v_text:"我是v-text指令,我会替换掉标签里的内容",
                v_html: '<a href="https://search.bilibili.com">我是v-html指令,我也会替换掉标签里的内容,并且会当作html解析,请不要在用户输入的提交上使用防止xss攻击</a>',
                v_cloak: '我是 v-cloak指令, 我没有值,我可以防止网页在js阻塞的时候发生跳闪.',
                number: 66
            },
            directives:{
                //简写 bind updated 的逻辑一样就用简写,且不用考虑视图插入父视图后的事情
                //1,比如控制父视图背景颜色
                //2,比如获取焦点
                ten(element,v){
                    element.innerText = '我是自定义指令,我需要自己操作dom' + String(v.value * 10)
                },
                //完整的对象写法
                fbind:{
                    //成功绑定时调用
                    bind(element,v){
                        console.log("bind")
                        element.value = v.value
                    },
                    update(element,v) {
                        console.log("update")
                        element.value = v.value
                    },
                    //模版被重新解析时调用
                    inserted(element,value) {
                        console.log("inserted")
                        element.focus()
                    }
                }
            }
        })

        Vue.set()
    </script>
    
    
</body>
</html>